package com.scau.clothes.service;

import com.scau.clothes.pojo.Clothes;

import java.math.BigDecimal;
import java.util.List;

public interface ClothesService {

    /**
     *
     * @param curPage
     * @param type 0:按照时间顺序，即id顺序 1按照热销榜单
     * @param sortWay 0:升序 1降序
     * @return
     */
    List<Clothes> getClothesByPage(int curPage,int type,int sortWay);
    /**
     * 初始化缓存 将数据库的数据导入到redis中
     */
    void initData();
    /**
     * 获取衣服总数 只在insert时更新
     * @return
     */
    int getTotalClothes();
    List<Clothes> getHotSale(int offset,int count);

    /**
     * 下单成功后更新热销榜单
     * @param clothesId
     * @param num
     */
    void updateHotSale(int clothesId,int num);
    /**
     * 尝试从redis中获取，获取不到再从mysql中获取并把clothes存放到redis中
     * @param id
     * @return
     */
    Clothes getClothesById(int id);


    /**
     * 尝试从redis中获取，获取不到再从mysql中获取并把clothes存放到redis中
     * @param color
     * @param size
     * @param type
     * @param area
     * @return
     */
    List<Clothes> getClothesByByParas(int color, int size, int type, int area);



    /**
     *
     * @param id
     * @return 返回衣服价格
     */
    @Deprecated
    Clothes getPriceByClothesId(int id);

    /**
     *
     * @param id
     * @return 根据id判断衣服是否促销，是返回促销价格，否返回原来的价格
     */
    @Deprecated
    BigDecimal getActualPriceByClothesId(int id);

}
